Шаг 168 - Изучаем документ – При записи.

В прошлом шаге было продемонстрировано, что может возникнуть необходимость что то делать при записи. Есть такая предопределенная процедура.

ПриЗаписи
Предопределенная процедура при записи документа.

Синтаксис:
ПриЗаписи()
Англоязычный синоним:
OnWrite

Описание:
Вызов предопределенной процедуры ПриЗаписи производится в системе 1С:Предприятие при интерактивной записи документа. Если в данной предопределенной процедуре установить статус возврата — 0 (например, если данному пользователю нельзя изменять реквизиты документа), запись документа не будет выполнена.
Данная предопределенная процедура может располагаться в Модулях формы документов (см. «Виды программных модулей»).

Вот здесь и место для сохранения пометки в документе основании. Только опять придется хитрить. Первое это нужно же сохранить номер документа основания. А поэтому нужно в шапке создать атрибут для сохранения.

168_1.gif (3468 b)

И в момент создания документа сохранить это номер.

..........
Если ДокОсн.ВыпискаОснования = 0 Тогда
	
			
	НомерДокОснования=ДокОсн.НомерДок;
	ДатаДок=ДокОсн.НомерДок;

Иначе     
	Предупреждение("Вы этот документ уже использовали "); 
	СтатусВозврата(0);
КонецЕсли;
.........

А вот теперь при записи использовать этот номер для модификации документа.

Процедура    ПриЗаписи() 
	Док = СоздатьОбъект("Документ.Док1");
	Док.НайтиПоНомеру(НомерДокОснования,Дата(0)); 
	Док.ВыпискаОснования=1;
	Док.Записать();	
КонецПроцедуры
Hosted by uCoz